Field
The disclosed embodiments relate to improving memory usage in software programs. More specifically, the disclosed embodiments relate to techniques for performing compression-based detection of memory inefficiency in software programs.
Related Art
Developers of software programs are frequently unaware of how data structures and/or objects in the software programs consume memory. As a result, the developers may create or consume (e.g., via libraries) objects and/or data structures that result in sub-optimal execution and/or memory inefficiencies in the software programs. For example, a developer may declare a data structure with multiple elements, such as an “ArrayList” object. As the number of elements in the data structure increases, the size of the data structure may double. As a result, the data structure may consume significantly more memory than required to store the used elements in the data structure, which in turn may negatively impact the performance and memory usage of the software program containing the data structure.
Consequently, the execution of software programs may be facilitated by mechanisms for detecting and managing memory inefficiency in the software programs.